// 定义详情模块数据ts类型
export interface ResponseData{
    code:number,
    message:string,
    ok:boolean
}
// 代表医院详情的数据
export interface HosPitalDetail{
    "bookingRule":{
        "cycle":number,
        "releaseTime":string,
        "stopTime":string,
        "quitDay":number,
        "quitTime":string,
        "rule":string[],
    },
    "hospital":{
        "id":string,
        "createTime":string,
        "updateTime":string,
        "isDeleted":number,
        "param":{
            "hostypeString":string,
            "fullAddress":string
        },
        "hoscode":string,
        "hosname":string,
        "hostype":string,
        "provinceCode":string,
        "cityCode":string,
        "districtCode":string,
        "address":string,
        "logoData":string,
        "intro":null,
        "route":string,
        "status":number,
        "bookingRule":null
    }
}

// 医院详情返回数据ts
export interface HospitalDetail extends ResponseData{
    data:HosPitalDetail
}

// 代表医院科室的数据
export interface Deparment{
    "depcode":string,
    "depname":string,
    "children"?:Deparment[]
}

// 代表存储科室数组类型
export type DeparmentArr=Deparment[];
// 获取科室接口返回的数据类型
export interface DeparmentResponseData extends ResponseData{
    data:DeparmentArr
}

// 用户登录接口需要携带参数类型
export interface LoginData{
    phone:string,
    code:string,
}
// 登录接口返回用户信息数据
export  interface UserInfo{
    name:string,
    token:String,
}
// 登录接口返回的数据的ts类型
export interface UserLoginResponseData extends ResponseData{
    data:UserInfo
}

// 定义微信扫码登陆返回的数据的ts类型
export interface WXLogin{
    "redirectUrl":string,
    "appid":string,
    "scope":string,
    "state":string
}

export interface WXLoginResponseData extends ResponseData{
    data:WXLogin
}
export interface BaseMap{
    "workDateString":string,
    "releaseTime":string,
    "bigname":string,
    "stopTime":string,
    "depname":string,
    "hosname":string,
}

export interface WorkData{
    "workDate":string,
    "workDateMd":string,
    "dayOfWeek":string,
    "docCount":number,
    "reservedNumber":null,
    "availiableNumber":number,
    "status":number,
}

export type BookingScheduleList=WorkData[]

export interface HospitalWordData extends ResponseData{
    data:{
        total:number,
        BookingScheduleList:BookingScheduleList,
        baseMap:BaseMap
    }
}

// 代表的是一个医生的数据
export interface Doctor{
    "id":string,
    "createTime":string,
    "updateTime":string,
    "isDeleted":string,
    "param":{
        "dayOfWeek":string,
        "depname":string,
        "hosname":string,
    },
    "hoscode":string,
    "depcode":string,
    "title":string,
    "docname":string,
    "skill":string,
    "workDate":string,
    "workTime":number,
    "awailableNumber":number,
    "amount":number,
    "status":number,
    "hosScheduleId":string
}

// 数组包含全部医生
export type DocArr=Doctor[];
// 获取医生排班接口返回的数据
export interface DoctorResponseData extends ResponseData{
    data:DocArr
}

// 代表的是一个就诊人数据ts类型
export interface User{
    "id":number,
    "createTime":string,
    "updateTime":string,
    "isDeleted":number,
    "param":{
        "certificatesTypeString":string,
        "contactsCertificatesTypeString":string,
        "cityString":null,
        "fullAddress":string,
        "districtString":null,
        "provinceString":null
    },
    "userId":number,
    "name":number,
    "certificatesType":string,
    "certificatesNo":string,
    "sex":number,
    "birthdate":string,
    "phone":string,
    "isMarry":number,
    "provinceCode":null,
    "cityCode":null,
    "districtCode":null,
    "address":string,
    "contactsName":string,
    "contactsCertificatesType":string,
    "contactsCertificatesNo":string,
    "contactsPhone":string,
    "isInsure":number,
    "cardNo":null,
    "status":string
}
export type UserArr=User[];
export interface UserResponseData extends ResponseData{
    data:UserArr
}

// 获取某一个挂号医生数据详情
export interface DoctorInfoData extends ResponseData{
    data:Doctor
}